package pe.edu.upc.e41a.javasoft.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import pe.edu.upc.e41a.javasoft.dao.CategoriaDao;
import pe.edu.upc.e41a.javasoft.domain.Categoria;


@Service
@Transactional
public class CategoriaServiceImpl implements CategoriaService {
	
	@Resource
	private CategoriaDao categoriaDao;
	
	@Override
	public String registrarCategoria(Categoria categoria) {
		String mensaje =null;
		try {
			mensaje = ValidaCategoria(categoria);
			if(mensaje!=null) return mensaje;
			categoriaDao.saveCategoria(categoria);	
			mensaje="La categoría se registró exitosamente";
		} catch (Exception e) {
			mensaje="Error al registrar categoría";
			return mensaje;
		}
		
		return mensaje;
	}

	private String ValidaCategoria(Categoria categoria){
		String mensaje=null;
		if (categoria.getNombre()==null) {
			mensaje="El nombre categoría no puede ser Nulo";
		} else if (categoria.getDescripcion()==null) {
			mensaje ="La descripción de categoria no puede ser Nulo";
		} {

		}

		
		return mensaje;
	}

	@Override
	public List<Categoria> listarCategoria() {
		List<Categoria> mListCategorias;
		mListCategorias = categoriaDao.findAllCategorias();
		return mListCategorias;
	}
}
